package com.xqboss.apps.vo.consumer;

import com.xqboss.apps.domain.consumer.ConsumerTeamGainRule;
import com.xqboss.apps.vo.sys.SysUserTeamVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author Administrator
 */
@Getter
@Setter
public class ConsumerTeamDetailVo {

    @ApiModelProperty("主键")
    private Integer id;

    @ApiModelProperty("创建人")
    private Long createUserId;

    @ApiModelProperty("队伍名称")
    private String name;

    @ApiModelProperty("队伍类型（0_喝水 1_跑步 2_睡觉）")
    private Integer type;

    @ApiModelProperty("队伍等级")
    private Integer rank;

    @ApiModelProperty("队伍头像")
    private String avatar;

    @ApiModelProperty("队伍标签（1_家人 2_朋友 3_同学 4_同事 5_恋人）")
    private Integer tag;

    @ApiModelProperty("最大成员数量")
    private Integer maxNumber;

    @ApiModelProperty("当前成员数量")
    private int memberCount;

    @ApiModelProperty("队伍简介")
    private String description;

    @ApiModelProperty("是否需要审核（0_否 1_是）")
    private Integer needVerify;

    @ApiModelProperty("团队增益百分比%")
    private BigDecimal teamGain;

    @ApiModelProperty("打卡增益百分比%")
    private BigDecimal memberGain;

    @ApiModelProperty("队伍总已打卡次数")
    private Integer totalPunch;

    @ApiModelProperty("队伍总打卡次数")
    private Integer totalPunchs;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("队伍成员")
    private List<SysUserTeamVo> teamMember;

    @ApiModelProperty("队伍当前增益信息")
    private TeamGainInfoVo currentGainInfo;

    @ApiModelProperty("队伍下阶段增益信息")
    private TeamGainInfoVo nextGainInfo;

    @ApiModelProperty("队伍打卡增益配置")
    private List<ConsumerTeamGainRule> gainRuleList;

    @ApiModelProperty("队伍升级条件")
    private TeamUpgradeConditionVo upgradeCondition;
}
